package net.child.chess.core;

import net.child.chess.utils.ChessDef;

public class BoardParams 
{
	public BoardParams()
	{
		mMaxMoves = INFINTE_MOVES;
		mComputerColor = ChessDef.Color.BLACK;
		mStartColor = ChessDef.Color.WHITE;
	}
	public BoardParams(int maxMoves, ChessDef.Color computerColor, ChessDef.Color startColor)
	{
		mMaxMoves = maxMoves;
		mComputerColor = computerColor;
		mStartColor = startColor;
	}
	
	public void init(BoardParams params)
	{
		mMaxMoves = params.mMaxMoves;
		mComputerColor = params.mComputerColor;
		mStartColor = params.mStartColor;
	}
	
	public void maxMoves(int max)
	{
		mMaxMoves = max;
	}
	public int maxMoves()
	{
		return mMaxMoves;
	}
	
	public ChessDef.Color startColor()
	{
		return mStartColor;
	}
	public void startColor(ChessDef.Color color)
	{
		mStartColor = color;
	}
	
	public ChessDef.Color computerColor()
	{
		return mComputerColor;
	}
	public void computerColor(ChessDef.Color color)
	{
		mComputerColor = color;
	}
	
	public static final int INFINTE_MOVES = 5000000;
	
	private int mMaxMoves;
	private ChessDef.Color mComputerColor;
	private ChessDef.Color mStartColor;
}
